package com.wclass.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 优惠券领取管理
 * </p>
 *
 * @author SEN
 * @since 2019-02-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("base_discount_bill")
public class BaseDiscountBill extends SuperEntity<BaseDiscountBill> {

    private static final long serialVersionUID = 1L;

    /**
     * 课程id
     */
    @ApiModelProperty("课程id")
    @TableField("course_id")
    private Long courseId;

    @ApiModelProperty("优惠券id")
    @TableField("discount_id")
    private Long discountId;

    @ApiModelProperty("优惠券内容")
    @TableField(exist = false)
    private BaseDiscount discountInfo;
    /**
     * 状态 0 未使用 1 已使用 2 已过期
     */
    @ApiModelProperty("状态 0 未使用 1 已使用 2 已过期")
    private Integer state;

    @ApiModelProperty("开始时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @TableField("star_time")
    private Date startTime;
    /**
     * 到期时间
     */
    @ApiModelProperty("到期时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @TableField("expire_time")
    private Date expireTime;
    /**
     * 优惠金额
     */
    @ApiModelProperty("优惠金额")
    private Long amount;
    /**
     * 领取人员id
     */
    @ApiModelProperty("领取人员id")
    @TableField("user_id")
    private Long userId;

    @TableField(exist = false)
    private String userName;
    /**
     * 使用时间
     */
    @ApiModelProperty("使用时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @TableField("used_time")
    private Date usedTime;
    /**
     * 关联订单
     */
    @ApiModelProperty("关联订单")
    @TableField("order_id")
    private Long orderId;

}
